package com.zsc.common.web.util;

/**
 * NumberUtils.java是互动平台的数字业务工具类。
 *
 * @author jason
 * @version 1.0 2017-4-11
 */
public class NumberUtils extends org.apache.commons.lang.math.NumberUtils {

    /**
     * 两个整数对象相加，避免空指针异常。
     *
     * @param value1 整数对象1
     * @param value2 整数对象2
     * @return 两个整数和对象
     */
    public static int add(Integer value1, Integer value2) {
        value1 = (value1 == null) ? 0 : value1;
        value2 = (value2 == null) ? 0 : value2;
        return value1 + value2;
    }

    /**
     * 两个长整数对象相加，避免空指针异常。
     *
     * @param value1 长整数对象1
     * @param value2 长整数对象2
     * @return 两个长整数和对象
     */
    public static long add(Long value1, Long value2) {
        value1 = (value1 == null) ? 0 : value1;
        value2 = (value2 == null) ? 0 : value2;
        return value1 + value2;
    }

    /**
     * 两个单浮点数字对象相加，避免空指针异常。
     *
     * @param value1 单浮点数字对象1
     * @param value2 单浮点数字对象2
     * @return 两个单浮点数字和对象
     */
    public static float add(Float value1, Float value2) {
        value1 = (value1 == null) ? 0 : value1;
        value2 = (value2 == null) ? 0 : value2;
        return value1 + value2;
    }

    /**
     * 两个双浮点数字对象相加，避免空指针异常。
     *
     * @param value1 双浮点数字对象1
     * @param value2 双浮点数字对象2
     * @return 两个双浮点数字和对象
     */
    public static double add(Double value1, Double value2) {
        value1 = (value1 == null) ? 0 : value1;
        value2 = (value2 == null) ? 0 : value2;
        return value1 + value2;
    }

}
